/**
 * 1. 定义一个全局的 对象，形状如下
 * {
        resolve: function,
        reject: function
    }
 */

let addressPromise = {}

// 2. 定义一个方法，用于给 addressPromise 赋值
export function getAddressPromise() {
    // 创建一个新的Promise
    const newPromise = new Promise((resolve, reject) => {
        // 将 resolve 与 reject 赋值给 addressPromise
        addressPromise.resolve = resolve
        addressPromise.reject = reject
    })

    // 返回该Promise
    return newPromise
}

// 3. 定义一个方法，用于完成 Promise 
export function resolveAddressPromise(payload) {
    addressPromise && addressPromise.resolve(payload)
}

// 4. 定义一个方法，用于 reject Promise
export function rejectAddressPromise(payload) {
    addressPromise && addressPromise.reject(payload)
}